Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

report throw calls appropriately #17

Merged
merged 6 commits into from
Sep 3, 2020
Merged

report throw calls appropriately #17

merged 6 commits into from
Sep 3, 2020

Conversation

aviatesk
Copy link
Owner

@aviatesk aviatesk commented Sep 3, 2020

No description provided.

@aviatesk
Copy link
Owner Author

aviatesk commented Sep 3, 2020

So CI reveals out this native implementation can report (potentially too many) false positives.

julia> @profile_call sin(1)
═════ 1 possible error found ═════
┌ @ special/trig.jl:53 Base.Math.sin(Base.Math.float(x::Int64)::Float64)
│┌ @ special/trig.jl:39 Base.Math.sin_domain_error(x::Float64)
││┌ @ special/trig.jl:28 unreachable
│││ will throw: Base.Math.throw(Base.Math.DomainError(x::Float64, "sin(x) is only defined for finite x.")::Any)
││└──────────────────────
Float64

These lines of code suppress throw calls that may not happen by analyzing the current inference frame, but what we need to address the case above is (more complicated) inter-frame analysis.

EDIT: simple false positives are fixed by simple inter-frame analysis

aviatesk added a commit that referenced this pull request Sep 3, 2020
@aviatesk aviatesk force-pushed the avi/reportthrow branch 2 times, most recently from 5469973 to 8c9898f Compare September 3, 2020 14:45
@codecov-commenter
Copy link

codecov-commenter commented Sep 3, 2020

Codecov Report

Merging #17 into master will increase coverage by 2.43%.
The diff coverage is 96.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   65.77%   68.21%   +2.43%     
==========================================
  Files          10       10              
  Lines         561      604      +43     
==========================================
+ Hits          369      412      +43     
  Misses        192      192              
Flag Coverage Δ
#unittests 68.21% <96.00%> (+2.43%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/TypeProfiler.jl 100.00% <ø> (ø)
src/abstractinterpreterinterface.jl 89.47% <ø> (ø)
src/reports.jl 86.86% <92.00%> (+2.93%) ⬆️
src/abstractinterpretation.jl 91.89% <100.00%> (+1.56%) ⬆️
src/tpcache.jl 93.54% <100.00%> (+1.54%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 73be65f...d47959c. Read the comment docs.

@aviatesk aviatesk merged commit 90a49a2 into master Sep 3, 2020
@aviatesk aviatesk deleted the avi/reportthrow branch September 3, 2020 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants